
package TransportesMarroquin;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.UIManager;


public class main {
static JFrame va;
static Statement s;
static Connection conexion;
  
    public static void main(String[] args) {
        try {
            try {
                  // select Look and Feel
                  UIManager.setLookAndFeel("com.jtattoo.plaf.hifi.HiFiLookAndFeel");
                  va = new JFrame();
                  InterLoad inte = new InterLoad ();
                   va.setVisible(true);
                   va.add(inte);
                   va.setSize(312,315);
                   // codigo para centrar la pantalla
              Dimension pantalla, cuadro;
                         pantalla = Toolkit.getDefaultToolkit().getScreenSize();
                         cuadro = va.getSize();
                         va.setLocation(((pantalla.width - cuadro.width)/2),(pantalla.height - cuadro.height)/2);
                         va.setResizable(false);
                         va.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
                         
          
                  // start application
                 
              } catch (Exception ex) {
              }
            // creo la base de datos 
            
            MysqlDataSource dataSource= new MysqlDataSource();
             
             
             dataSource.setUser("root");
             dataSource.setPassword("");
             dataSource.setDatabaseName("?");
             dataSource.setServerName("localhost");
             conexion = (Connection) dataSource.getConnection();
             s = (Statement) conexion.createStatement();
             // creo toda mi base de datos 
             s.executeUpdate("CREATE DATABASE IF NOT EXISTS practicasp8");
             s.executeUpdate("use practicasp8");
             // creo mis tablas

            s.executeUpdate("create table IF NOT EXISTS piloto(idpiloto int, nombre varchar(30), apellido varchar (50), licencia varchar(20), cedula varchar(20), telefono int, direccion varchar(50), nomesposa varchar(50), numintegrantes int, edad int, tipopiloto varchar(30), foto blob, sueldo int default 0, descuento int default 0, bono int default 0, primary key(idpiloto)); ");
           // s.executeUpdate("insert IF NOT EXISTS into piloto (idpiloto,nombre,apellido, sueldo, bono, descuento) values (0,'Sin Chofer','Sin Piloto',0,0,0);");
            s.executeUpdate("create table if not exists paquetecabezal (idpaquetecabezal int, di int,dd int,mei int,mii int,mil int,med int,tei int,tii int,tid int,ted int, primary key(idpaquetecabezal));");
            s.executeUpdate("create table if not exists paquetefurgon (idpaquetefurgon int auto_increment, primary key(idpaquetefurgon),dii int, did int, ddi int, ddd int, tii int, tid int, tdi int, tdd int);");
            s.executeUpdate("create table if not exists paquetecamion (idpaquetecamion int auto_increment,di int,dd int,ti int, td int, primary key(idpaquetecamion));");
            s.executeUpdate("create table if not exists motorcabezal (idmotorcabezal int, primary key(idmotorcabezal));");
            s.executeUpdate("create table if not exists motorcamion (idmotorcamion int, primary key(idmotorcamion));");
            s.executeUpdate("create table if not exists cabezal(idcabezal int primary key, idpiloto int default 0, placa varchar(20), kilometraje int, marca varchar(50),idmotorcabezal int, idgastoscabezal int, idpaquetecabezal int, foreign key(idpiloto) references piloto(idpiloto), foreign key(idpaquetecabezal) references paquetecabezal(idpaquetecabezal),foreign key(idmotorcabezal) references motorcabezal(idmotorcabezal));");
            s.executeUpdate("create table if not exists furgon (idfurgon int, marca varchar(20), anio int(4),  kilometraje int, placa varchar(20), idgastosfurgon int, idpaquetefurgon int,  primary key(idfurgon), foreign key(idpaquetefurgon) references paquetefurgon(idpaquetefurgon));");
            s.executeUpdate("create table if not exists camion (idcamion int, idpiloto int default 0, placa varchar(20), anio int, marca varchar(50),kilometraje int, idmotorcamion int, idgastoscamion int, idpaquetecamion int, primary key(idcamion), foreign key(idpiloto) references piloto(idpiloto),foreign key(idpaquetecamion) references paquetecamion(idpaquetecamion), foreign key(idmotorcamion) references motorcamion(idmotorcamion));");
            s.executeUpdate("create table if not exists liente (idcliente int auto_increment, nombre varchar(30), apellido varchar(50), nit varchar(20), telefono int, empresa varchar(30), primary key(idcliente));");
            s.executeUpdate("create table if not exists llanta (idnumeconomico int, tipo_vehiculo varchar (50), codigo_vehiculo int, posicion varchar (50), cementerio varchar(17) DEFAULT 'no', primary key(idnumeconomico));");
            s.executeUpdate("create table IF NOT EXISTS motor(idmotor int, primary key(idmotor));");
            s.executeUpdate("create table IF NOT EXISTS cementerio(cementerio varchar(17) , numeroeconomico int, primary key(cementerio), foreign key(numeroeconomico) references llanta(idnumeconomico));");
            s.executeUpdate("create table IF NOT EXISTS viaje (idviaje int auto_increment, id_cliente int, nombre_cliente varchar(50), apellido_cliente varchar(50), nit_cliente varchar(20), empresa_cliente varchar(50), telefono_cliente int, id_piloto int, nombre_piloto varchar(50), apellido_piloto varchar(50), licencia_piloto varchar(50), codigo_vehiculo int, tipo_vehiculo varchar(50), placa_vehiculo varchar (50),origen varchar(250), destino varchar(250), vulto int, fecha date, kilometraje int, primary key(idviaje));");
            s.executeUpdate("create table IF NOT EXISTS factura (idfactura int not null auto_increment, nombre varchar(50), nit varchar(50),fecha date, idviaje int, total int, primary key(idfactura), foreign key(idviaje) references viaje(idviaje));");
            s.executeUpdate("create table IF NOT EXISTS gasto (idgasto int auto_increment, idvehiculo int, tipovehiculo varchar(50), descripcion text, gasolina float, aceite float, frenos float, otrosgastos float,total float, fecha date, kilometraje int, primary key(idgasto));");
            s.executeUpdate("create table IF NOT EXISTS usuario (usuario varchar(50) primary key,nombre varchar(50), apellido varchar (50), contrasena varchar(8), tipousuario varchar(50), contrasenaadmin varchar(50));");
            s.executeUpdate("create table IF NOT EXISTS vulto (idvulto int auto_increment primary key, unidades int, clase_de_vulto varchar(60), contenido varchar(200), pies_cubicos int, kilos int, libras int, idvehiculo int, tipovehiculo varchar (50), idviaje int);");
 
            s.close();
            conexion.close();
             
        } catch (SQLException ex) {
            Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex);
        }
                Process p=null;
                Runtime r=Runtime.getRuntime();

        try
        {
            p=r.exec("cmd /c mysql --password=  --user=root practicasp8 < backup.sql");
         
        }
        catch(Exception e)
        {
          JOptionPane.showMessageDialog(null, "Error");
        }
       
    }
}
